Add "Crazy Robotaxi" standalone game demo using new API - #460
Conversation
9ab710a to
8a26964
Compare
1a8e0e8 to
933e5bd
Compare
14fbe5f to
79b7819
Compare
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
62cfee9 to
7acd8a2
Compare
| ) | ||
|
|
||
| def _trace_presented_frame(self, generation: int) -> None: | ||
| if not self._trace_chunk_lifecycle: |
There was a problem hiding this comment.
a lot of code changes are related to tracing. I think we might need a tracing util or decorator sometime. We can keep this but would need to clean it up later
There was a problem hiding this comment.
Agreed, we should clean it up later
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
Co-authored-by: ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> Signed-off-by: aidanfnv <aidanf@nvidia.com>
Co-authored-by: ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> Signed-off-by: aidanfnv <aidanf@nvidia.com>
|
/ok to test 6cf6af7 |
Greptile SummaryThe PR adds the standalone Crazy Robotaxi game, a reusable OmniDreams game engine, integration adapters, runtime-v2 presentation and input support, authored maps, live-edit abilities, and extensive tests.
Confidence Score: 4/5The PR should not merge until Robotaxi restarts invalidate pending presentation frames so users cannot see output from the abandoned rollout. Both reachable in-game restart paths reset rollout state without advancing the generation that PresentationManager uses to discard stale frames, allowing pre-restart output to survive into the restarted game. Files Needing Attention: apps/crazy_robotaxi/crazy_robotaxi/session.py, apps/crazy_robotaxi/crazy_robotaxi/ui.py Important Files Changed
Sequence DiagramsequenceDiagram
participant U as Player
participant UI as UI loop
participant M as Model loop
participant R as Robotaxi rollout
participant P as Presentation manager
U->>UI: Restart input / PLAY AGAIN
UI->>M: restart_game()
M->>R: Reset rollout and increment rollout_epoch
Note over M,P: Runtime generation remains unchanged
P-->>U: Present buffered pre-restart frames
M->>P: Publish new rollout frames with same generation
P-->>U: Present restarted game
Reviews (1): Last reviewed commit: "Update flashdreams/flashdreams/api_v2/RE..." | Re-trigger Greptile |
| if _restart_requested(events): | ||
| state.restart_game() | ||
| rollout = state.ensure_rollout() |
There was a problem hiding this comment.
Restart preserves stale frames
When a player presses R or gamepad Start, restart_game() resets the rollout without advancing the runtime generation used by the presentation manager to invalidate pending output, causing frames from the abandoned game to be presented after the restart. The PLAY AGAIN path invokes the same reset behavior.
Knowledge Base Used:
Signed-off-by: Aidan Foster <aidanf@nvidia.com>
|
Too many files changed for review (127 files, 100 file limit). Bypass the limit by tagging |
|
/ok to test 542329c |
Closes #476 once the game is fully ported to the API
Closes #477 once the game is complete (implies that additional features from #463 are ported)
Closes #463 if it gets subsumed by the ported version